#ifndef X264CODEC_H
#define X264CODEC_H

#include "encodercodec.h"

#include <QHash>

class SettingWidgetInterface;
class X264Codec : public EncoderCodec
{
public:
    X264Codec(QObject *parent = 0);
    X264Codec(const X264Codec &);

    virtual const QString name() const;
    virtual const QString  introduction() const;
    virtual QString generateCodecOptionString(const EncoderOption &);

    virtual const QString comment() const;
    virtual bool isRecommended() const { return true; }
    virtual bool isUsuallyUsed() const { return true; }

    virtual SettingWidgetInterface *settingWidget(SettingWidgetPart, EncoderOption &);

private:
    QHash<QString, SettingWidgetInterface *> m_commonConfigWidgets, m_advancedConfigWidgets;
};

#endif // X264CODEC_H
